package com.dys.testgeneric04;

import java.util.ArrayList;

/**
 * @className: com.dys.testgeneric04.BaseGeneric2
 * @description: 泛型可以定义多个参数类型
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/08/01 下午8:29
 */
public class BaseGeneric2<A, B, C> {
    A name;
    B age;
    C sex;

    public void a(A a, B b, C c) {
    }

    // 泛型类的构造器写法
    // public BaseGeneric2<A,B,C>() {}

    // 不同的泛型引用数据类型不可以相互赋值
    public void b() {
        ArrayList<String> list1 = null;
        ArrayList<Integer> list2 = null;
        // list1 = list2;
    }
    // 如果泛型不指定,就会被擦除

    // 泛型类中的静态方法不能使用类的泛型：因为静态类先于对象存在
    // public static void c(A a){
    //     return 10;
    // }

    // 不能使用泛型数组
    public void c(A a, B b, C c) {
        // 不可以
        // A[] i= new A[10];
        A[] i = (A[]) new Object[10];
    }
}
